package com.ikas.ai.server.module.data.model.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

@Data
public class MeteUpdateDTO {

    private Long id;

    @NotBlank(message = "测点编码不能为空！")
    private String meteCode;

    @NotNull(message = "测点ID不能为空！")
    private Long meteId;

    /**
     * 机组编号
     */
    @NotBlank(message = "机组编号不能为空！")
    private String machineNo;

    /**
     * 测点类型（0为遥信，1为遥测）
     */
    private Integer meteType;

    /**
     * 系统编号
     */
    private String systemNo;

    /**
     * 设备编码
     */
    private String equipmentCode;

    /**
     * 中水科达梦数据库对接唯一id
     */
    private Long oid;

    /**
     * 父节点名称
     */
    private String parentNodeName;

    /**
     * 节点名称
     */
    private String nodeName;

    /**
     * 变量类型
     */
    private String type;

    /**
     * 信号英文名
     */
    private String signalEnName;

    /**
     * 信号中文名
     */
    private String signalCnName;

    /**
     * 信号状态为1的标识（如:appear)
     */
    private String signalStatusOn;

    /**
     * 信号状态为0的标识（如:disappear)
     */
    private String signalStatusOff;

    /**
     * 上上限
     */
    @Pattern(regexp = "^\\d+(\\.\\d+)?$", message = "上上限必须为数字")
    private String upperUpperLimit;

    /**
     * 上限
     */
    @Pattern(regexp = "^\\d+(\\.\\d+)?$", message = "上限必须为数字")
    private String upperLimit;

    /**
     * 下下限
     */
    @Pattern(regexp = "^\\d+(\\.\\d+)?$", message = "下下限必须为数字")
    private String lowerLowerLimit;

    /**
     * 下限
     */
    @Pattern(regexp = "^\\d+(\\.\\d+)?$", message = "下限必须为数字")
    private String lowerLimit;

    /**
     * 上量程
     */
    @Pattern(regexp = "^\\d+(\\.\\d+)?$", message = "上量程必须为数字")
    private String upperRange;

    /**
     * 下量程
     */
    @Pattern(regexp = "^\\d+(\\.\\d+)?$", message = "下量程必须为数字")
    private String lowerRange;

    /**
     * 测点单位
     */
    private String unit;

    /**
     * 有效值
     */
    private String validMeteValue;

    /**
     * 是否给前端模型使用,0为不使用，1为使用
     */
    private Integer modelUse;
}
